[nexus-external-api] reorganize per RFD 619#9568
Conversation
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
|
@david-crespo one of the things we determined in RFD 619 is that we organize types by semantic area rather than params/views/shared. This makes sense for internal APIs but would love your thoughts on this when applied to the external API (I can put things back in params/views/shared if desired, but wanted your thoughts on the complete migration). |
|
Thinking more about it, I'm fine with it. It's nice to have smaller files and it's nice to have things grouped thematically. If we're worried about confusing models and views in a particular case, we can always import with an alias or something. |
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
| /// groups are created automatically. | ||
| /// The instance will be automatically added as a member of the specified | ||
| /// multicast groups during creation, enabling it to send and receive | ||
| /// multicast traffic for those groups. |
There was a problem hiding this comment.
Slightly concerned about some of these changes being accidental reversions of changes that were made on main before this was rebased.
There was a problem hiding this comment.
Hmm, this is rebased on top of the recent dropshot API manager change (#9546) so doc comments haven't changed for the latest versions of types (they might have changed on older revisions, though — that is a bit trickier to verify, though I can spend some time doing validation if you prefer).
There was a problem hiding this comment.
ok validation is easier than I thought — dump out all the JSON files as on main (not the blessed versions — regenerated fresh from main), and all the versions as in this PR, and validate no differences.
There was a problem hiding this comment.
Seems like the different versions might have normalized to share the docstrings of the latest one? But yeah, I realize now that if there are no changes to the OpenAPI schema, any changes here must be to older versions, so it doesn't really matter.
nexus/types/versions/src/local_storage/instance.rs:
/// The instance will be automatically added as a member of the specified
nexus/types/versions/src/initial/instance.rs:
/// The instance will be automatically added as a member of the specified
nexus/types/versions/src/pool_selection_enums/instance.rs:
/// The instance will be automatically added as a member of the specified
david-crespo
left a comment
There was a problem hiding this comment.
Do it. Sorry to all outstanding PRs!
…s-types` This also addresses some lingering TODOs from #9568 about `From` impls being defined in the wrong place per RFD 619.
…s-types` This also addresses some lingering TODOs from #9568 about `From` impls being defined in the wrong place per RFD 619.

This is an extremely large PR, but a generally quite mechanical one. I had Claude Code both write most of the PR and review it for conformance with the RFD -- all tests appear to pass, and I also manually spot-checked the versions crate to ensure it generally made sense.